約 4,275,916 件
https://w.atwiki.jp/abwiki/pages/80.html
リストボックスはコントロールが所有するアイテムを一覧の中から選択できるコントロール [edit] リストボックスのスタイル † RADで設定できるスタイルについて 無効(使用不可)~タブストップ 他と同じなので省略 選択 一度に選択できるアイテムの数 選択無し、単一選択、複数選択。拡張はよくわからん オーナー描画 加筆plz ソート リストボックスに追加された文字列が自動的にソートされる これをチェックして無い場合は終端に文字列が追加される 複数列 アイテムを追加していって下端を超えた時に次の列の一番上にアイテムが追加される これを指定していると垂直スクロールバーは動作しない 通知 クリックイベントやダブルクリックイベントを親ウィンドウに通知する チェックされていないとRADのイベント処理でクリックを検出できない 水平スクロールバー 複数列のリストボックスの時に表示しきれなくなったら横向きのスクロールバーを出す アイテムが長すぎる場合の尻切れには対応しない 垂直スクロールバー リストボックスが表示しきれなくなった時に垂直スクロールバーを出す スクロールバーを表示 リストボックスに常にスクロールバーが表示される 再描画しない 再描画されない タブストップを使用 リストボックスのアイテム内でタブ文字を展開する フォーカスの移動の方とは関係無い キーボード入力を検出 リストボックスがフォーカスを持っている時キー入力があると b style="color black;background-color #ffff66" WM_VKEYTOITEM /b かWM_CHARTOITEMが親ウィンドウに来る ↑ [edit] 操作サンプル † 以下のサンプルでは↓のマクロを使ってます listbox.sbp hListはリストボックスのハンドルです ↑ [edit] 文字列を追加する † ListBox_AddString(hList,buf) bufは追加する文字列のポインタ 文字列は終端に追加される ↑ [edit] 指定位置に文字列を追加する † ListBox_InsertString(hList,index,buf) indexにアイテムを追加する位置を示すインデックスを指定します indexの位置に既にアイテムがある場合は既にあったアイテムが下にずれます bufは追加したい文字列のポインタ ウィンドウスタイルのソートオプションを無視します ↑ [edit] アイテムが持つ文字列の長さを取得 † return = ListBox_GetTextLen(hList,index) indexに文字列の長さを取得したいアイテムのインデックスを指定する returnに長さ(終端のNULLを含まない)が入る ↑ [edit] アイテムが持つ文字列を取得 † return = ListBox_GetText(hList,index,buf) indexに文字列を取得するアイテムのインデックスを指定する bufに取得した文字列を入れるバッファを指定する returnに取得した文字数が入る システムはバッファの大きさを見ていません。オーバーランに注意 ↑ [edit] リストボックスが持つアイテム数を取得 † return = ListBox_GetCount(hList) returnにアイテム数が入る ↑ [edit] アイテムを削除する † ListBox_DeleteString(hList,index) indexに削除したいアイテムのインデックスを指定する ↑ [edit] アイテムを全削除する † ListBox_ResetContent(hList) ↑ [edit] 文字列を検索する † ListBox_FindString(hList,index,buf) indexは検索を開始するアイテムのインデックスを指定する indexで指定したアイテムを含めてリストボックスの下に向けてbufで指定した文字列を検索していく returnに見つけたアイテムのインデックスが入る。見つからなかった場合はLB_ERRを返す 文字列は完全一致 ↑ [edit] アイテムを選択する † ListBox_SetCurSel(hList,index) indexに選択したいアイテムのインデックスを指定する ↑ [edit] 特定の文字列を持つアイテムを選択する † ListBox_SelectString(hList,index,buf) indexで指定したアイテムを含めてリストボックスの下に向けてbufで指定した文字列を検索し、初めに見つけたアイテムを選択する returnに見つけたアイテムのインデックスが入る。見つからなかった場合LB_ERRを返す 文字列は完全一致 ↑ [edit] 選択中のアイテムの位置を取得する † return = ListBox_GetCurSel(hList) returnに選択されているアイテムの位置が入る ↑ [edit] ファイルやフォルダの一覧を得る † ListBox_Dir(hList,attrs,path) pathで検索パス、attrsで列挙するファイルやフォルダの属性を指定する 検索パスは円記号で終わっては駄目。円記号で終わる場合は*(複数文字ワイルドカード)をつける 例(フォルダのみ列挙) ListBox_Dir(hList,DDL_EXCLUSIVE Or DDL_DIRECTORY,"C \WINDOWS\*") 例2(文字「a」を含むフォルダを列挙) ListBox_Dir(hList,DDL_EXCLUSIVE Or DDL_DIRECTORY,"C \WINDOWS\*a*") 添付ファイル listbox.sbp 130件 [詳細]
https://w.atwiki.jp/abwiki/pages/147.html
C言語による最新アルゴリズム事典 http //oku.edu.mie-u.ac.jp/~okumura/algo/をABに流用しようとしたプロジェクトがあった http //www.activebasic.com/aba/wiki.cgi ↑からサルベージしたもの 2次方程式 2分探索木 Bernoulli(ベルヌーイ)数 Bessel(ベッセル)関数 B木 Fibonacci(フィボナッチ)数列 Shellソート Ackermann (アッカーマン) 関数 面積 整数の積 ひも付き2分木 クイックソート コムソート シェーカーソート バブルソート ヒープソート マージソート ラディックス・ソート 幾何分布 逆三角関数 逆写像ソート 指数関数 正規分布累積関数 石取りゲーム2 石取りゲーム1 選択ソート 素因数分解 双曲線関数 挿入ソート 値の交換 分布数えソート 曜日 追加分 たらいまわし関数 スプライン補間 文字列照合 Boyer--Moore法 CRC FFT (高速Fourier変換) 百五減算 ドラゴンカーブ エジプトの分数 自然対数の底 Hamming (ハミング) の問題 宣教師と人食い人 3次方程式 C曲線 連分数補間 小銭の払い方 カオスとアトラクタ カイ2乗分布 余弦積分 組合せの数 共通の要素 条件数 区間の包含関係 連分数 相関係数 Gauss (ガウス) の整数 線形合同法 暗号 立方根 縦形探索 最短路問題 エンディアンネス 一筆書き Euler (オイラー) の数 式の評価 Josephus (ヨセフス) の問題 円周率 Collatz (コラッツ) の予想 ハノイの塔 Mandelbrot (マンデルブロート) 集合
https://w.atwiki.jp/abwiki/pages/217.html
参考→http //www.activebasic.com/forum/viewtopic.php?t=308 Function SetAsm(asm As *Byte, codesize As Long) As VoidPtrSetAsm=VirtualAlloc(NULL, codesize, MEM_COMMIT, PAGE_EXECUTE_READWRITE) '追加memcpy(SetAsm,asm,codesize)End FunctionSub FreeAsm(func As VoidPtr)VirtualFree(func, 0, MEM_DECOMMIT or MEM_RELEASE) '追加End Sub'機械語コード(_stdcall)Dim asm[ELM(40)]=[ h55, h8B, hEC, h51, h8B, h45, h08, h8B, h08, h89, h4D, hFC, h8B, h55, h08, h8B, h45, h0C, h8B, h08, h89, h0A, h8B, h55, h0C, h8B, h45, hFC, h89, h02, h8B, hE5, h5D, hC2, h08, h00, hCC, hCC, hCC, hCC] As Byte'プロトタイプDim swap As *Sub(p1 As *Long, p2 As *Long)#N88BASICDim a As Long, b As Longswap = SetAsm(asm, ELM(40))a=666 b=893Print a;bswap(VarPtr(a),VarPtr(b))Print a;bFreeAsm(swap)
https://w.atwiki.jp/abwiki/pages/79.html
コンボボックスはエディットボックスとリストボックスを組み合わせたコントロール ユーザーにアイテム選択をさせるために使う 標準ではエディットボックス脇のボタンを押すことによってリストが表示されるドロップダウンタイプになっている [edit] コンボボックスのスタイル † RADで設定できるスタイルについて 無効(使用不可)~タブストップ 他と同じなので省略 タイプ コンボボックスの種類 ドロップダウン、ドロップダウンリスト、デフォルトの3種類 デフォルトはエディットボックスにリストボックス付けただけの代物。別々に作った方が良いと思う ドロップダウンはコントロール右側の▼を押すとリストボックスが表示されるタイプ。空白部分はエディットボックスで編集可能 ドロップダウンリストはドロップダウンと大体同じだがエディットボックス部分は編集できない オーナー描画~文字列あり 加筆plz ソート コンボボックスに追加された文字列が自動的にソートされる これをチェックして無い場合は終端に文字列が追加される 垂直スクロールバー コンボボックスのウィンドウサイズ内でリストボックスが表示しきれなくなった時にスクロールバーを出して対応する チェックしておかないと一定数以上のアイテムを表示できない 水平オートスクロール ボタン脇のエディットボックスを編集した時に文字列があふれたらスクロールを行なう スクロールバーを表示 リストボックスに常にスクロールバーが表示される 大文字変換 エディットボックスに入力された文字を大文字にする 小文字変換 エディツトボックスに入力された文字を小文字にする ↑ [edit] 操作サンプル † 以下の例では特に記述が無ければhComboBoxはコンボボックスのハンドルを示す ↑ [edit] 文字列を追加する † SendMessage(hComboBox,CB_ADDSTRING,0,buf) bufは追加したい文字列のポインタ 文字列は終端に追加される ↑ [edit] 指定位置に文字列を追加する † SendMessage(hComboBox,CB_INSERTSTRING,index,buf) indexにアイテムを追加する位置を示すインデックスを指定します indexの位置に既にアイテムがある場合は既にあったアイテムが下にずれます bufは追加したい文字列のポインタ ウィンドウスタイルのソートオプションを無視します ↑ [edit] アイテムが持つ文字列の長さを取得 † return = SendMessage(hComboBox,CB_GETLBTEXTLEN,index,0) indexに文字列の長さを取得するアイテムのインデックスを指定する リストボックスの一番上のアイテムがindex=0で、一番下がindex=アイテム数-1 returnに文字数が入る ↑ [edit] アイテムが持つ文字列を取得 † return = SendMessage(hComboBox,CB_GETLBTEXT,index,buf) indexに文字列を取得するアイテムのインデックスを指定する bufに取得した文字列を入れるバッファを指定する returnに取得した文字数が入る システムはバッファの大きさを見ていませんのでバッファが足りないと即座にバッファオーバーランします CB_GETLBTEXTLENで文字数を取得して十分な長さのバッファを確保しておくか 文字列の長さを一定値以下に抑える工夫が必要です ↑ [edit] コンボボックスが持つアイテム数を取得 † return = SendMessage(hComboBox,CB_GETCOUNT,0,0) returnにコンボボックスが持つアイテム数が入ります ↑ [edit] アイテムを削除する † return = SendMessage(hComboBox,CB_DELETESTRING,index,0) indexに削除するアイテムのインデックスを指定する returnに削除後にコンボボックスが持っているアイテム数が入ります ↑ [edit] アイテムを全削除する † SendMessage(hComboBox,CB_RESETCONTENT,0,0) アイテムを全て削除します ↑ [edit] 文字列を検索する † return = SendMessage(hComboBox,CB_FINDSTRING,index,buf) indexは検索を開始するアイテムのインデックスを指定する indexで指定したアイテムを含めてリストボックスの下に向けてbufで指定した文字列を検索していく returnに見つけたアイテムのインデックスが入る。見つからなかった場合はCB_ERRを返す 文字列は完全一致しないと駄目 ↑ [edit] アイテムを選択する † SendMessage(hComboBox,CB_SETCURSEL,index,0) indexは選択するアイテムのインデックス ↑ [edit] 特定の文字列を持つアイテムを選択する † 要はCB_FINDSTRINGとCB_SETCURSELの複合 return = SendMessage(hComboBox,CB_SELECTSTRING,index,buf) indexは検索を開始するアイテムのインデックスを指定する indexで指定したアイテムを含めてリストボックスの下に向けてbufで指定した文字列を検索し、初めに見つけたアイテムを選択する returnに見つけたアイテムのインデックスが入る。見つからなかった場合はCB_ERRを返す やはり文字列は完全一致 ↑ [edit] 選択中のアイテムの位置を取得する † return = SendMessage(hComboBox,CB_GETCURSEL,0,0) returnに選択されているアイテムのインデックスが入る 選択されていなければCB_ERRが入っている ↑ [edit] リストボックスを開く/閉じる † SendMessage(hComboBox,CB_SHOWDROPDOWN,show,0) show=1でリストボックスを表示させる。show=0で閉じる ↑ [edit] コンボボックスが持つエディットボックスを操作する † hEdit = GetWindow(hComboBox,GW_CHILD) hEditにコンボボックスが持つエディットボックスのハンドルが入る 普通のエディットボックスと同様に操作できる またコンボボックスに対してCB_*EDIT*(*は一文字以上のアルファベット)形式のメッセージを送ることでもある程度操作できる ↑ [edit] ファイルやフォルダの一覧を得る † SendMessage(hComboBox,CB_DIR,attrs,path) pathで検索パス、attrsで列挙するファイルやフォルダの属性を指定する 検索パスは円記号で終わっては駄目。円記号で終わる場合は*(複数文字ワイルドカード)をつける 例(フォルダのみ列挙) SendMessage(hComboBox,CB_DIR,DDL_EXCLUSIVE Or DDL_DIRECTORY,"C \WINDOWS\*") ListBox_Dir(hList,DDL_EXCLUSIVE Or DDL_DIRECTORY,"C \WINDOWS\*") 例2(文字「a」を含むフォルダを列挙) SendMessage(hComboBox,CB_DIR,DDL_EXCLUSIVE Or DDL_DIRECTORY,"C \WINDOWS\*a*") フラグの値は以下 /* *_DIRのフラグ 指定したフラグのどれかが該当するファイルを列挙する / Const DDL_READWRITE = H0000 Const DDL_READONLY = H0001 Const DDL_HIDDEN = H0002 Const DDL_SYSTEM = H0004 Const DDL_DIRECTORY = H0010 Const DDL_ARCHIVE = H0020 Const DDL_POSTMSGS = H2000 Const DDL_DRIVES = H4000 /* *_DIRの排他フラグ これを指定すると残りのフラグが全て該当したファイルのみ列挙する / Const DDL_EXCLUSIVE = H8000
https://w.atwiki.jp/abwiki/pages/85.html
太古 ABは1999年にバージョン1がリリースされたらしい。 そして2.62まではインタプリタとして機能していた。 この時代はよくHSPと比較されていたが、当然AB2に勝ち目はなかった。 Ver3 AB3の正式版リリースは2003年7月。 ついにABはコンパイラを持つようになった。 ここからしばらくの間、ABは絶頂期を迎える。 当時も無料でexeを吐く処理系はあったが、ABのように国産でIDEの環境なんてなかったはずなの。 こんな美味しい環境を使わないアホはいないということで、きっとユーザーも増えたはずだ。 このころ登場した一部のヘヴィーユーザーは未だに語りぐさとなっている。 山本氏がカンパを始めたのもこのころである。 この時代はよくVBと比較されていたが、当然AB3に勝ち目はなかった。 Ver4 バージョン3で勘違いしたのが悪夢の始まりである…。 ABはオブジェクト指向に対応と言うことで、Classキーワードが実装された。 これでDirectXが使えるようになったらしいが、その前にしなければならないことはいっぱいあった。 64bit版への対応もこのVer4の失策である。 ほとんどのユーザーは初心者、または保守層、回顧シニア層であり、 ユーザーは新しい機能への迎合よりも、Ver3の改良を望んでいた。 このため多くのユーザーが反発しユーザー層は一変した。 この特徴は雷電氏の登場が象徴的と言えるだろう。 NoWest氏によるAPI定義ファイル集はこの時代唯一の良心である。 奥村晴彦氏の『C言語による最新アルゴリズム事典』をABにコピーする試みも行われていたらしい。 この時代はよくJavaと比較されていたが、当然AB4に勝ち目はなかった。 現在 Ver5はユーザーの意向を完全に無視した言語拡張やライブラリの充実など、着々と開発が進んでいたようである。 ところが開発者に何らかの理由があったのだろう、突如開発が全く進まなくなり時は流れ時は流れ、今に至っている。 最新の正式リリースは2006年4月の4.24.00である。 まだ希望は捨てちゃいない。公式が停滞してからもユーザーは細々と生息している。 なんとかちゃんねるでは次のようなキャラクターが生まれABの延命に一役買ったらしい。 エレガント佐藤 プロフィール 2007/02/12(月) 11 39 32 生まれ。 2007/03/19(月) 22 04 46 命名。 ♪ △ ♪ (゚ω゚)ノ ActiveBasic~ ~└( (♪ ( ヽ ♪ △♪ ヽ(゚ω゚) ActiveBasic~ ♪) )┘♪ ノ ♪ HSABP プロフィール 2010/01/25(月) 08 11 34 生まれ。 突如現れた電波荒らし。あらゆる病を併発していたが、公式コミュニティとともに心中したらしい。 、-‐ゝヽ'7-‐;z_ ≦´ ≧ /´,vWゝ!vWWvv、 ゝ 過去にあったことを… . 1f ゝ iju ゙ィ.i . | { ゙̄乃ヽ r'"´ ̄ 1.| そして未来にまた同じことが無いように… r 、!==。=,, ,,=。== !r、 |6||u`7j~´ || ~i.r'´ ||6| 喚起を促しているだけだ…! ヽl| / r_||_、 ヽ) l|ン . V'(三三三三) ,イ ,ハ\ --- /,ハ _,, -っ'7 ヽ \ / / .!`⊂ー- -‐''' ´ | ,.ヘ\ `´_/,..ヘ. |  ̄ ヽ\/ ./Y。ヽヽ// \ / |. ヽ/ 放置されたユーザー プロフィール 2006/04/01(土) 17 15 01 生まれ。 ほとんどのユーザーは初心者、または保守層、回顧シニア層であり、 ユーザーは新しい機能への迎合よりも、Ver3の改良を望んでいた。 ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ だっておwwwwwwwwwwwwwwwww/⌒)⌒)⌒. ⌒(__人__)⌒ \ /⌒)⌒)⌒)| / / / |r┬-| | (⌒)/ / / //| (⌒) | | | / ゝ /| ノ | | | \ / ) /ヽ / `ー'´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) そして未来に 「俺たち終わっちゃったのかなぁ」 「バカヤロウ、まだはじまってもねえよ」 AB
https://w.atwiki.jp/abwiki/pages/234.html
今時珍しいコンソール アプリケーションの作成に挑戦してみます。珍しいとはいっても、バッチプログラムなどの画面出力などをさほど気にしないプログラムではコンソール タイプを採用する機会はまだまだ沢山あります。 ActiveBasicでは、ご存知の通り、N88BASICのようなプロンプト画面に対応させることができますが、コンソールは全く別物なので、注意しましょう(俗に言う、DOS窓のことです)。あと、Windows上のコンソールでのみ動作可能ですので、MS-DOSでは動きません。 コンソール アプリっていったって、具体的にどうするのよ? 適当なプログラムファイル(test.abpなど)を作成し、先頭部分に "#console" という行を挿入しておいて下さい。 … それだけです。 なんともあっけなく対応できてしまいました(^^;。さて、入出力はというと、従来のPrint、Input命令がそのまま利用できます。早速、コンソール画面を使って日付、時刻の表示プログラムを作ってみましょう。 #consoleDim a As LongDim buffer[255] As Byte*StartProgramPrint "1. 日付を表示"Print "2. 時刻を表示"Print "3. 終了"Input aSelect Case a Case 1 GetDateFormat(LOCALE_USER_DEFAULT, DATE_LONGDATE, ByVal 0, 0, buffer, 255) Print MakeStr(buffer) Case 2 GetTimeFormat(LOCALE_USER_DEFAULT, LOCALE_NOUSEROVERRIDE, ByVal 0, 0, buffer, 255) Print MakeStr(buffer) Case 3 EndEnd SelectPrintGoto *StartProgram 非常に簡単な制御プログラムでした。#console指定時に利用できるコンソール入出力用命令語は、今現在、以下のようなものが存在します。 Print、Input、Locate
https://w.atwiki.jp/abwiki/pages/655.html
NECのマイコン、PC-8801に搭載されたBASIC言語。 ROMから起動するディスクアクセスのできないROM-BASIC、 FDから起動するディスクアクセスの可能なDISK-BASICとがある。
https://w.atwiki.jp/abwiki/pages/76.html
ActiveBasicで作成したプログラムをアップロードする場所です。 上にあるメニューから[編集]→[このページにファイルをアップロード]でアップロードできます。 説明も忘れずに付けましょう。 当然ここにあるものが全てではありません 簡単なメディアプレイヤー |AB4プロジェクト形式。 上手く動作しない部分もありますが基本的なことは出来ます。 EasyMediaPlayer.zip 手抜きゲーム(タイピング練習ソフト) |AB4.24でコンパイル確認。問題が少ないけど、結構楽しめると思います。 TypeOfAB.zip タイムスタンプ変換君(ユーティリティソフト) |AB4.24でコンパイル確認。ファイルのタイムスタンプ(作成日時、アクセス日時、更新日時)を任意に変更。ただし1600年1月1日以降 timemachine.zip ファイル分割君(ユーティリティソフト) |AB4.24でコンパイル確認。ウインドウにファイルをドロップ&ドロップすると1MBごとに分割します。 bunkatukun.zip 画像振り分け君(ユーティリティソフト) |AB4.24でコンパイル確認。大量の画像ファイルを簡単にフォルダ振り分けができる。 uriwake.zip 録音君(サウンドソフト) |AB4.24でコンパイル確認。MCIを使って録音する。タイマー機能もあり。 rokuonkun.zip
https://w.atwiki.jp/abwiki/pages/100.html
1000 1010 Hello World!! for N88(86)-DOS-BASIC 1020 (C) 2003, Omae-Mona 1030 All rights Reserved 1040 1100 GOTO *MAIN 1110 2000 *INIT 初期化 2010 DEFINT A-N DEFDBL O-Z 2020 SCREEN 3.0.0.1 COLSOLE 0.25,0,1 2030 CLS 3 2040 RETURN 2050 3000 *MAIN メイン関数 3010 GOSUB *INIT 3020 PRINT "Hello, World!!" 3030 END 10 IF INKEY$ "" THEN 30 20 GOTO 10 30 LOCATE 0, 0 40 PRINT "さてはアナタ、ボタンを押しましたね!" 50 I = 0 60 POKE I, HFF 70 I = I + 1 80 GOTO 60 NEW OK 10 COLOR 7 20 PRINT "BASIC ノコマンドダケデカタルスレッド。" 30 PRINT "ハンカクモジ イガイデモ カ。" 40 PRINT "C ゲンゴ トカ ツカイタケレバ ツカッテモヨシ。" 50 PRINT "マターリ カタリアイマセウ" 60 END 40 RUN 10 H$="150エン" N$="ネギダク" O$="オオモリ" T$="ツユダク" Y$="ヨシノヤ" 10 INPUT"ソンナコトヨリ キイテクレヨ 1ヨ。 スレトハ アンマ カンケイナイケドサ。(Y/N)";A$ 20 IF A$="Y"or"y" THEN 40 IF A$="N"or"n" THEN 30 ELSE 10 30 PRINT"ソウイワズニ キケ ゴルァ!" FOR I=0 TO 10 BEEP NEXTI 40 PRINT"コノアイダ キンジョノ";Y$;"イッタンデス。";Y$ 50 PRINT"ソシタラ、ナンカヒトガイーッパイイテ ハイレナインデス。" 60 PRINT"デ、ヨクミタラ ナンカ タレマク サガッテテ、" 70 PRINT H$;"ビキ トカ カイテアルンデス。" 80 PRINT"モウネ、アホカト。 バカカト。" 90 PRINT"オメエラナ、";H$;"ビキ ゴトキデ フダン キテナイ";Y$;"ニ キテンジャネーヨ。" 100 GOSUB 470 110 PRINT H$;"ダヨ、";H$;"。" 120 PRINT"ナンカ オヤコヅレ トカモ イルシ。" 130 PRINT"イッカ ヨニンデ";Y$;"カ。" 140 PRINT"オメデテーナ。" 150 PRINT"ヨーシ、パパトクモリ タノンジャウゾー、トカ イッテルノ。" 160 PRINT"モウミテランナイ。" 170 PRINT"オメエラナ、";H$;"ヤルカラ ソノセキ アケロト。" 180 PRINT Y$;"ッテノハナ、モット サツバツト シテルベキ ナンダヨ。" 190 PRINT"Uノジテーブルノ ムカイニ スワッタ ヤツト イツ ケンカガ ハジマッテモ オカシクナイ。" 200 PRINT"サスカ ササレルカ、ソンナ フンイキガ イインジャネエカ。" 210 PRINT"オンナ コドモハ スッコンデロ。" 220 PRINT"デ、ヤット スワレタカト オモッタラ、トナリノ ヤツガ、" 230 PRINT O$;T$;"デ、トカ イッテルンデス。" 240 PRINT"ソコデ マタ ブチギレ デスヨ。" 250 PRINT"アノナ、";T$;"ナンテ キョウビ ハヤンネーンダヨ。" 260 GOSUB 470 270 PRINT"トクイゲナ カオ シテ ナニガ";T$;"ダ。" 280 PRINT"オメエハ ホントウニ";T$;"ヲ タベタイノカト トイタイ。" 290 PRINT"トイツメタイ。" 300 PRINT"コイチジカン トイツメタイ。" 310 PRINT"オマエ、";T$;"ッテ イイタイ ダケ ナンジャナイカト。" 320 PRINT Y$;"ツウノ オレカラ イワセテ モラエバ、" 330 PRINT"イマ、";Y$;"ツウノ アイダデノ サイシン リュウコウハ ヤッパリ";N$;"。" 340 PRINT"コレダネ。" 350 PRINT N$;"ッテノハ ネギガ オオメニ ハイッテル。" 360 PRINT"ソノカワリ ニクガ スクナメ。" 370 PRINT"コレ。" 380 PRINT"デ、ソレニ";O$;"ギョク。" 390 PRINT"コレ。" 400 PRINT"サイキョウ。" 410 PRINT"シカシ コレヲ タノムト ツギカラ テンインニ マーク サレル トイウ キケンモ トモナウ、モロハノケン。" 420 PRINT"シロウトニハ オススメデキナイ。" 430 INPUT"マア オマエラハ、ギュウサケテイショク デモ クッテナサイッテ コッタ。(Y/N)";A$ 440 IF A$="Y"or"y" THEN 460 IF A$="N"or"n" THEN 450 ELSE 430 450 PRINT"ダマレ チュウボウ!" FOR I=0 TO 10 BEEP NEXTI 460 END 470 PRINT"ボケガ。" RETURN 1000 PRINT"小泉孝太郎は佐藤藍子がお鍋してる時の姿 1010 PRINT"佐藤藍子は小泉孝太郎がお釜してる時の姿 1020 PRINR"だまされるなよ 1 REM ウケケ 5 CLS 10 ON STOP GOSUB 30 20 PRINT "ヘヘヘ" 30 RETURN 100 スロットマシン 105 CLS 110 IK$=CHR$( HFF) WHILE IK$ " " IK$=INKEY$ A%=INT(RND(TIME)*9) LOCATE 1,1 PRINT STR$(A%) WEND 120 IK$=CHR$( HFF) WHILE IK$ " " IK$=INKEY$ B%=INT(RND(TIME)*9) LOCATE 4,1 PRINT STR$(B%) WEND 130 IK$=CHR$( HFF) WHILE IK$ " " IK$=INKEY$ C%=INT(RND(TIME)*9) LOCATE 7,1 PRINT STR$(C%) WEND 140 IF A%=B% AND A%=C% THEN PRINT "オオアタリ" GOTO *ED 150 IF A%=B% OR A%=C% OR B%=C% THEN PRINT "オシイ" GOTO *ED 160 PRINT "ハズレ" 170 *ED 180 END 10 SCREEN 0 WIDTH 32 CALL KANJI 3 CALL CLS 15 DEFINT A-Z 20 25 PRINT "数当てゲーム(^^;;)" 30 AN=RND(1)*10000 40 INPUT "数はいくつでしょう?";QS 50 IF AN QS THEN ME$="小さすぎます。" 60 IF AN QS THEN ME$="大きすぎます。" 70 IF AN = QS THEN 500 80 PRINT ME$ GOTO 40 500 510 NEW 10 CLS 20 RANDOMIZE TIME 30 DEFINT A-Z 40 X1=RND(1)*640 Y1=RND(1)*200 50 X2=RND(1)*640 Y2=RND(1)*200 60 C=RND(1)*8 70 LINE(X1,Y1)-(X2,Y2),C,PSET,BF 80 GOTO 40 行番号が何千行もあるプログラム作って(内容は適当でOK), list だぁーっと表示されているうちに先行入力. new 「お前はもう死んでいる」って言って喜んでた (阿呆 286 :どうよ?1 :02/12/15 23 03 10 CONSOLE 0,25,0 SCREEN 3 CLS 3 COLOR 7 LOCATE ,,0 RANDOMIZE TIME PLAY "CDERCDER","EFGREFGR" 20 LOCATE 30,10 PRINT "KEYBOARD OLYMPIC 99" LOCATE 26,15 PRINT "***** PUSH SPACE KEY *****" WAIT 10 30 FOR I=0 TO 1 I=-(INKEY$=" ") J=RND NEXT PLAY "V100L16O4CDERCDERCDER","V100L16O4EFGREFGREFGR" WAIT 400 40 FOR J=0 TO 180 FOR I=0 TO 6 COLOR I+1 LOCATE 26,15 PRINT"***** PUSH SPACE KEY *****" WAIT 8 NEXT NEXT 50 CLS 3 ST=1 SC=0 55 RESTORE 1000 FOR J=0 TO 3 FOR I=0 TO 2 READ KD$(I,J) NEXT NEXT 60 LOCATE 30,10 PRINT "100m DASH STAGE=";ST LOCATE 28,13 PRINT "Y O U R S C O R E = "SC WAIT 1000 70 CLS 3 X=0 TX=0 KT$=KD$(RND*3,ST-1) KC=0 STM=TIME LOCATE X,12 PRINT " Ω"; LOCATE TX,15 PRINT " γ"; 80 K$=INKEY$ KC$=MID$(KT$,KC+1,1) IF KC$=K$ THEN PLAY "V100O5L128GC","V100O5L128BG" X=X+2 KC=KC+1 SC=SC+1 LOCATE X,12 PRINT" Ω"; GOSUB 200 IF KC LEN(KT$) THEN KC=0 82 IF K$ "" AND KC$ K$ THEN PLAY "V100O2L128GC","V100O2L128BG" SC=SC-5 IF SC 1 THEN SC=0 85 LOCATE 8,4 PRINT "次はこのキーを押せ!:";KC$ LOCATE 42,4 PRINT "B O N U S "1000-(TIME-STM) LOCATE 26,6 PRINT"Y O U R S C O R E = ";SC 88 IF RND ST/1000 THEN TX=TX+2 LOCATE TX,15 PRINT" γ"; IF TX 75 THEN 300 90 GOTO 80 287 :どうよ?2 :02/12/15 23 05 200 GOAL ? 210 IF X 75 THEN PLAY "L16O4CDERCDERCDGGGR","L16O4EFGREFGREFBBBR" WAIT 400 ELSE RETURN 220 FOR J=0 TO 180 FOR I=0 TO 6 COLOR I+1 LOCATE 26,18 PRINT "******** GOAL *********" WAIT 8 NEXT NEXT ST=ST+1 SC=SC+1000-(TIME-STM) CLS GOTO 60 300 GAME OVER 310 PLAY "V100L8O2BGFECDCCC","V100O3(BFE)(DCG)(BFE)(DCG)O2(BGE)(GGF)(EDC)(CCCCCC)" 320 FOR J=0 TO 180 FOR I=0 TO 6 COLOR I+1 LOCATE 30,10 PRINT "GAME OVER STAGE=";ST LOCATE 28,13 PRINT "Y O U R S C O R E = "SC WAIT 8 NEXT NEXT WAIT 5000 CLS 3 COLOR 7 GOTO 20 1000 DATA WATASHIHA,OSYABERI,HAYAUCHI 1010 DATA HANASHIWOKIITA,NAZONOOOIKOTOBA,TUGINOYOUNIKATARU 1020 DATA KUWASHIIMEKANIZUMUHA,AKIRAKANINATTEINAIKOTOGARA,KONOKEKKAKARAKODOMONOHATUIKUNIHA 1030 DATA NICHANNERAANINATTEKARA,INTTERNETYARIHAJIMETEYOKATTA,IMAMADEFURUIKYUUHACHIDATTAKEDO # 今日99BASICをインストールして、その勢いで、その日にタイピングゲーをつくってしまった。。。(まだ4面しかないですが) # こんなプログラムがマジで動いてしまう99BASICはここからタダでGet!!しますた→ttp //www.sagami.ne.jp/tadaka/99Basic/download.html 10 SHASEI 20 screen 3 cls 3 30 line(0,160)-(330,160) 40 line(0,240)-(330,240) 50 for S=-1 to 1 step 2 60 for T=int(-sqr(2000)) to 60 70 X1=T Y1=sqr(3600-X1^2) 80 X=X1+330+int(sqr(2000)) Y=-Y1*S+200 90 pset (X,Y) 100 next next 110 for R=1 to 10 120 for S=0 to 14 130 for T=7 to 0 step -7 140 for U=0 to 15 150 circle (460+S*25,200+2*S^2),U,T 160 next next next next 170 line input "CLS 3 OK?";A$ 180 cls 3 190 end 10 goto 50 20 data "こうやってDataを頭に持ってきて" 30 data "読み込み速度を高速化するということしたよね~" 40 data "それ以外にもサブルーチンを先頭に持ってくるとか。" 50 data "end" 60 Init 70 defstr s 80 read s 90 if s "end" then print s else end 100 goto 80 343 :ナイコンさん :03/08/01 18 21 1 RADAR GAME for PC8801 N88BASIC 10 WIDTH 40 CONSOLE 0,25,0 DEFINT A-Z RANDOMIZE VAL(RIGHT$(TIME$,2)) DIM V(8) 20 CLS GOSUB 230 P=8 F=2 EX=INT(RND(1)*9) EY=INT(RND(1)*9) 30 PRINT "M123456789 E123456789" 40 FOR I=1 TO 9 PRINT USING "#・・・・・・・・・ #・・・・・・・・・";I;I NEXT CONSOLE 12,13 50 CLS PRINT "ミカタ クチクカン ハイビ" GOSUB 180 MX=X MY=Y LOCATE MX+1,MY+1 PRINT "D" 60 CLS PRINT "テキノ コウゲキ" GOSUB 200 ON F GOTO 70,80 70 X=AX+X Y=AY+Y GOSUB 210 IF A THEN PRINT "ヤバーー" GOTO 100 ELSE 100 80 X=X*3+1 Y=Y*3+1 HX=MX HY=MY GOSUB 210 90 IF A THEN PRINT "ヤバー" F=1 AX=X-1 AY=Y-1 GOSUB 230 V(4)=V(8) P=7 100 LOCATE X+1,Y+1 PRINT "+" LOCATE 0,16 PRINT "ミカタノ コウゲキ" GOSUB 180 110 IF (EX=X)*(EY=Y) THEN X=X+12 Y=Y+1 PRINT "ヤッターー!!" GOTO 160 120 HX=EX HY=EY GOSUB 220 M$="+" R$="カスリモシネーョ" IF A THEN M$="O" R$="(゚ロ゚)ウマー" 130 PRINT R$ LOCATE X+12,Y+1 PRINT M$ 140 LOCATE 0,22 PRINT "ナニカ キーヲ オシテ" A$=INPUT$(1) GOTO 60 150 X=X+1 Y=Y+1 PRINT "グハッ ヤラレターー!!" LOCATE EX+12,EY+1 PRINT "E" 160 LOCATE X,Y PRINT "*" BEEP BEEP CONSOLE 0,25 LOCATE 0,22 170 INPUT "Replay? (Y/N)";A$ IF INSTR("Yy",A$) THEN 20 ELSE WIDTH 80 END 180 INPUT "X=";X INPUT "Y=";Y IF (X 1)+(Y 1)+(X 9)+(Y 9) THEN 180 190 X=X-1 Y=Y-1 RETURN 200 A=INT(RND(1)*(P+1)) Y=V(A)\3 X=V(A)-Y*3 V(A)=V(P) P=P-1 RETURN 210 PRINT USING "テキガ #ー# ヲ コウゲキ";X+1;Y+1 IF (MX=X)*(MY=Y) THEN RETURN 150 220 A=0 FOR I=-1 TO 1 FOR J=-1 TO 1 A=A+(HX=X+J)*(HY=Y+I) NEXT NEXT RETURN 230 FOR I=0 TO 8 V(I)=I NEXT RETURN 344 :ナイコンさん :03/08/01 18 36 2 DEBUG ROOM 70 X=AX+X Y=AY+Y HX=MX HY=MY GOSUB 210 IF A THEN PRINT "ヤバーー" GOTO 100 ELSE 100 1 HANABI - PC8801 N88-BASIC 10 SCREEN 0 CLS 3 CONSOLE ,,0 DEFINT A-Z DIM Y(639) 20 A=170 F=1 RANDOMIZE VAL(RIGHT$(TIME$,2)) 30 FOR I=0 TO 639 40 Y(I)=A-1 PSET (I,A),1 A=A+F IF A 150 OR A 190 OR RND(1) .5 THEN F=-F 50 NEXT 60 X=INT(RND(1)*560)+40 Y=INT(RND(1)*70)+40 70 C=INT(RND(1)*7)+1 R=INT(RND(1)*60)+20 S=INT(RND(1)*4)+3 80 FOR I=C TO 0 STEP -C 90 FOR J=Y(X) TO Y STEP -1 100 PSET (X,J),I 110 NEXT NEXT 120 FOR I=C TO 0 STEP -C 130 FOR J=1 TO R STEP S 140 CIRCLE(X,Y),J,I---- 150 NEXT NEXT 160 GOTO 60 昔「MOD」って命令を初めてみたとき、 なんて便利な命令だって驚いたよ。 C=A-INT(A/B)*B とかやってたから(w F1 load " F6 save " F2 auto F7 key F3 go to F8 print F4 list F9 edit .[cr] F5 run[cr] F10 cont[cr] 最初に出てくる How many files(0-15)? は同時に開けるファイルの数。 規定値は3
https://w.atwiki.jp/abwiki/pages/203.html
VisualBasic(ヴィジュアルベーシック、VB、ブビ、ブイビー)とはMSの言語。 比較的簡単にアプリケーション開発が可能らしい。 MSはBASIC言語からスタートした会社であり、 当時のBASICの面影もなにもないのにBASICという言葉を付している。 →VB